digital rights management content drm development digital dvd java dongle software development java software development license distribution music java tools copy protection databases encryption electronic licensing copyright object oriented